using System;
using System.Collections.Generic;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using EYDIngenieria.ERP.Aplicacion.Gestion;
using EYDIngenieria.ERP.Aplicacion.Mantenedores;
using EYDIngenieria.ERP.ObjetosDeNegocio.Dominio;

public partial class Reportes_InventarioValorizado : System.Web.UI.Page
{
   List<Inventario> inventarioFiltrado = new List<Inventario>();
    private  Inventario[] inventario;
    private EYDIngenieria.ERP.Aplicacion.Mantenedores.MantenedorFamiliaProducto mantenedorFamiliaProducto = new MantenedorFamiliaProducto();
    private EYDIngenieria.ERP.Aplicacion.Gestion.GestionInventario gestionInventario = new GestionInventario();
    private EYDIngenieria.ERP.ObjetosDeNegocio.Dominio.FamiliaProducto[] familias;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           ListItem li = new ListItem("Todos","0");
            
           familias = mantenedorFamiliaProducto.Listar();
           ddlFamilia.DataTextField = "Nombre";
           ddlFamilia.DataValueField = "Id";
           ddlFamilia.DataSource = familias;
           ddlFamilia.DataBind();
           ddlFamilia.Items.Insert(0,li);
           inventario = gestionInventario.Listar();
           gdvInventario.DataSource = inventario;
           Session["INVENTARIOVALORIZADO"] = inventario;
           gdvInventario.DataBind();

            double valorTotal = 0;
           foreach (Inventario i in inventario)
           {
               valorTotal = valorTotal + (i.ValorUnitario * i.Saldo);
           }
            if (gdvInventario.Rows.Count > 0)
            ((Label)gdvInventario.FooterRow.FindControl("lblValorInventario")).Text = "$ " + valorTotal.ToString();
        }
        
    }
    protected void btnAceptar_Click(object sender, EventArgs e)
    {
        double valorTotal = 0;
        inventario = gestionInventario.Listar();
        if (ddlFamilia.SelectedValue.ToString().Equals("0"))
        {
           
            gdvInventario.DataSource = inventario;
            Session["INVENTARIOVALORIZADO"] = inventario;
            gdvInventario.DataBind();
            foreach (Inventario i in inventario)
            {
                valorTotal = valorTotal + (i.ValorUnitario * i.Saldo);
            }
        }
        else
        {
            foreach (Inventario i in inventario)
            {
                if (i.Producto.Familia.Id.ToString().Equals(ddlFamilia.SelectedValue.ToString()))
                {
                    inventarioFiltrado.Add(i);
                    valorTotal = valorTotal + (i.ValorUnitario*i.Saldo);
                }
                gdvInventario.DataSource = inventarioFiltrado;
                gdvInventario.DataBind();
            }
        }
        if (gdvInventario.Rows.Count > 0)
        ((Label) gdvInventario.FooterRow.FindControl("lblValorInventario")).Text = "$ " + valorTotal.ToString();
    }
}
